The present invention relates to a system and a method of clocking an IP core during a debugging operation.
In the design of integrated circuits, there is an increasing demand for emulation and verification tools. Hardware-based verification solutions have been around for years in two different embodiments: accelerators and emulators. Useful tools in emulation systems are so-called IP-Xpress kits which are emulation-ready kits for concurrent hardware and software verification of processor-based systems. Such IP-Xpress kits use microprocessor or DSP chips, mounted onto a printed-circuit-board to provide the functionality of the device to be connected to a design mapped into the emulator, and the kits consist of a board and HDL-wrapper files.
All processor-type IP cores require some external clock source. Hence, one or more clock signals are provided to the IP-Xpress boards. The clocks are provided either directly from the internal clock generators of the emulator or they may be driven from the design loaded onto the emulator.
Another way of providing clock to an IP core is by using a clock oscillator mounted onto the IP-Xpress board. In this case any frequency can be applied, i.e. there are no maximum clock frequency constraints due to the emulation system.
A key advantage of an IP-Xpress kit is to provide a fast running system verification environment in which application software is running on the IP core and this stimulating the design mapped to the emulator. In case of faulty system behaviour, the cause for this could either be in the application software or in the design (provided the IP core is functioning correctly). In order to identify the erroneous component of the system both the application software as well as the design has to be debugged. This can be done most conveniently when the hardware and software are stopped synchronously. On the one hand, this gives a good correlation between the design's status and the actual software execution, and on the other hand it enables to interrogate all resources of the design mapped onto the emulator system. This may mean, however, that the emulator clocks are stopped. In case the IP core is clocked by a clock generated by the emulator system, this would mean that the IP core is not clocked anymore. Hence, the software debugger would not necessarily work and as a result the resources of the software execution were not visible and a full system debugging would not be possible.